package com.ruoyi.zhgd.domain.bo;

import com.ruoyi.common.core.validate.AddGroup;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;
import javax.validation.constraints.*;

import java.util.Date;

import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 沥青拌合站筛孔数据业务对象 n_asphalt_alarm
 *
 * @author zyb
 * @date 2023-09-06
 */

@Data
@EqualsAndHashCode(callSuper = true)
public class NAsphaltAlarmBo extends BaseEntity {

    /**
     * 数据主键
     */
    @NotBlank(message = "数据主键不能为空", groups = { EditGroup.class })
    private String id;

    /**
     * 0.075mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "0.075mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve0d075;

    /**
     * 0.015mm筛预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "0.015mm筛预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve0d15;

    /**
     * 0.3mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "0.3mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve0d3;

    /**
     * 0.6mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "0.6mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve0d6;

    /**
     * 1.18mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "1.18mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve1d18;

    /**
     * 2.36mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "2.36mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve2d36;

    /**
     * 4.75mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "4.75mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve4d75;

    /**
     * 9.5mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "9.5mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve9d5;

    /**
     * 13.2mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "13.2mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve13d2;

    /**
     * 16mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "16mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve16;

    /**
     * 19mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "19mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve19;

    /**
     * 26.5mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "26.5mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve26d5;

    /**
     * 31.5mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "31.5mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve31d5;

    /**
     * 37.5mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "37.5mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve37d5;

    /**
     * 52mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "52mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve52;

    /**
     * 53mm筛孔预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "53mm筛孔预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve53;

    /**
     * 筛孔预警，0正常，1预警
     */
    @NotNull(message = "筛孔预警，0正常，1预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long sieve;

    /**
     * 温度预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "温度预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long temperature;

    /**
     * 油石比预警，0正常，1超上限，2超下限
     */
    @NotNull(message = "油石比预警，0正常，1超上限，2超下限不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long asphaltAggregateRatio;

    /**
     * 预警，0正常，1预警
     */
    @NotNull(message = "预警，0正常，1预警不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long alarm;

    /**
     * 预警详情
     */
    @NotBlank(message = "预警详情不能为空", groups = { AddGroup.class, EditGroup.class })
    private String details;

    /**
     * 状态，0未处理，1已处理
     */
    @NotNull(message = "状态，0未处理，1已处理不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long state;

    /**
     * 问题原因
     */
    @NotBlank(message = "问题原因不能为空", groups = { AddGroup.class, EditGroup.class })
    private String alarmReason;

    /**
     * 处理方案
     */
    @NotBlank(message = "处理方案不能为空", groups = { AddGroup.class, EditGroup.class })
    private String handlerPlan;

    /**
     * 处理结果
     */
    @NotBlank(message = "处理结果不能为空", groups = { AddGroup.class, EditGroup.class })
    private String handlerResult;

    /**
     * 处理时间
     */
    @NotNull(message = "处理时间不能为空", groups = { AddGroup.class, EditGroup.class })
    private Date handlerTime;

    /**
     * 处理人
     */
    @NotBlank(message = "处理人不能为空", groups = { AddGroup.class, EditGroup.class })
    private String handlerPerson;

    private String alarmType;
    private String deptPkid;
    private String baseCode;
    private String stationCode;
    private String matchCode;
    private String matchType;
    private String matchName;
    private String startDate;
    private String endDate;

}
